package fiuba.service;
import fiuba.dao.MenuItemDao;
import fiuba.model.MenuItem;
import java.util.List;
public interface MenuItemManager extends UniversalManager {

			
	    /**
	     * Convenience method for testing - allows you to mock the DAO and set it on an interface.
	     * @param menuDao the MenuDao implementation to use
	     */
	    void setMenuItemDao(MenuItemDao menuItemDao);

	    /**
	     * Retrieves a menu by menuId.  An exception is thrown if menu not found
	     *
	     * @param menuId the identifier for the menu
	     * @return Menu
	     */
	    MenuItem getMenuItem(String menuItemId);


	    /**
	     * Retrieves a list of menu, filtering with parameters on a menu object
	     * @return List
	     */
	    List<MenuItem> getMenuItems();

	    /**
	     * Saves a menu's information
	     *
	     * @param menu the menu's information
	     * @throws MenuExistsException thrown when menu already exists
	     * @return menu the updated menu object
	     */
	    MenuItem saveMenuItem(MenuItem menuItem) throws MenuExistsException;

	    /**
	     * Removes a menu from the database by their menuId
	     *
	     * @param menuId the menu's id
	     */
	    void removeMenuItem(String menuItemId);

}
